
# 面向对象的变量
"""
变量 ： 包括类变量 ，实例变量 ，局部变量

# 1. 实例变量 ：
定义 ： self.变量名 = 值
调用 ： self.变量名
作用范围 ：针对当前对象包括里面的方法 。

# 2. 类变量
定义 ： 变量名 = 值  ，需要说明的是定义时需要放在类的内部，方法的外部 。
调用 ：
    对象名.变量名
    类名.变量名
作用范围 ： 整个类
使用场景 ：最主要用于此类的公共数据 。

# 3. 局部变量
定义 ： 在某个方法或方法内的代码块内定义的 ， 变量名 = 值
调用 ： 访问变量名
作用范围 ： 在此方法内或代码块内

"""
class Bugs():

    # 类变量
    bug_type = ['功能问题','数据问题','可靠性问题','安全问题','性能问题']
    bug_yz = [1,2,3,4]
    bug_yxj = [1,2,3,4]

    def __init__(self,bug_id,bug_project,version):
        # 实例变量
        self.bug_id = bug_id
        self.bug_project = bug_project
        self.version = version
        print("bug_project:",self.bug_project)

    # 定义方法
    def create_bug(self):
        pass

    def update_bug(self):
        # print(self.bug_lst)
        pass

    def delete_bug(self):
        pass

    def search_bug(self,bug_id=None):
        bug_lst = []    # 局部变量
        bug_lst.append({'bug_id':1,'bug_title':"xxxxx"})
        bug_lst.append({'bug_id':2,'bug_title':"yyyyy"})
        print("在此方法中访问实例变量:self.version",self.version)
        return bug_lst


if __name__ == '__main__':

    bug = Bugs(1,'tpshop',1.0)
    # 通过对象访问类变量
    print(bug.bug_type[1])
    # 通过类名访问类变量
    print(Bugs.bug_type[1])

    print(bug.search_bug())

